package cn.iocoder.yudao.module.system.controller.admin.dept.vo.jd;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotBlank;

@Schema(description = "提交充值&提取卡密接口调用示例（京东调代理商）--请求参数")
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
public class SubmitRechargeReqVO {
    //    {
//        "wareNo":"45001",
//            "quantity":"1",
//            "jdOrderNo":"10001",
//            "produceAccount":"13333333333",
//            "totalPrice":"10000",
//            "payTime":"20210208101218",
//            "sign":"10c1c32a49e2a520ef59ca97cefc73f9",
//            "notifyUrl":"http://vtp.jd.com/notify",
//            "vendorId":"1201",
//            "signType":"MD5",
//            "timestamp":"20210208101217"
//    }
    @Schema(description = "商品编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "商品编码不能为空")
    private String wareNo;
    @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "数量不能为空")
    private String quantity;
    @Schema(description = "京东订单号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "京东订单号不能为空")
    private String jdOrderNo;
    //    @NotNull(message = "京东订单号不能为空")
//    private Long jdOrderNo;
    // todo需要加密
    @Schema(description = "充值号码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String produceAccount;
    @Schema(description = "订单总价格", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "订单总价格不能为空")
    private String totalPrice;
    @Schema(description = "支付时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "支付时间不能为空")
    private String payTime;
    @Schema(description = "签名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "签名不能为空")
    private String sign;
    @Schema(description = "回调通知地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "回调通知地址不能为空")
    private String notifyUrl;
    @Schema(description = "商家ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "商家ID不能为空")
    private String vendorId;
    @Schema(description = "签名方式", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "签名方式不能为空")
    private String signType;
    @Schema(description = "响应时间戳", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "响应时间戳不能为空")
    private String timestamp;
}